home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 147 / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin / docs / ippon / ver / 020 / entry.c next >
C/C++ Source or Header  |  2000-07-07  |  1KB  |  63 lines

  1. /* entry.c */
  2.  
  3. #include "enemy.h"
  4. #include "entry.h"
  5. #include "sound.h"
  6.  
  7. #define ENTRY_MUSIC    250    /* 音楽を鳴らす */
  8. #define ENTRY_FADEOUT    251    /* 音楽をフェードアウトする */
  9. #define ENTRY_NON    254    /* 何もしない */
  10. #define ENTRY_END    255    /* エントリーの最後 */
  11.  
  12. static int entry_counter;    /* 何エントリー目か stage_data[] の添え字 */
  13. static signed int entry_timer;    /* 1フレームごとに1減らすカウンター */
  14. static int entry_end;    /* エントリーデータの終わりなら =!0 */
  15.  
  16.  
  17. /* ゲーム開始時に呼ばれる */
  18. void EntryInit (void)
  19. {
  20.     entry_counter = 0;
  21.     entry_timer = 0;
  22.     entry_end = 0;
  23. }
  24.  
  25.  
  26.  
  27. void EntryMove (void)
  28. {
  29.     if (entry_end)
  30.         return;        /* もう終わり */
  31.     if (--entry_timer > 0)
  32.         return;        /* まだ敵は出現しない */
  33.  
  34.  
  35.     do {
  36.         short type = stage_data[entry_counter].type;
  37.         entry_timer = stage_data[entry_counter].timer;
  38.  
  39.         switch (type) {
  40.         case ENTRY_NON:
  41.             break;
  42.  
  43.         case ENTRY_MUSIC:
  44.             SoundMusic(stage_data[entry_counter].x);
  45.             break;
  46.  
  47.         case ENTRY_FADEOUT:
  48.             SoundFadeOut(80);
  49.             break;
  50.  
  51.         case ENTRY_END:
  52.             entry_end = !0;    /* もう出現しないようにする */
  53.             break;
  54.  
  55.         default:
  56.             /* 敵キャラを出現させる */
  57.             EnemyAlloc (type, stage_data[entry_counter].x, stage_data[entry_counter].y);
  58.             break;
  59.         }
  60.         entry_counter++;
  61.     } while (entry_timer == 0);
  62. }
  63.